home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-06-22 | 3.4 KB | 118 lines | [TEXT/CWIE] |
- // ===========================================================================
- // MetroNubUserInterface.h ©1996 Metrowerks Inc. All rights reserved.
- // ===========================================================================
-
- #ifndef __MetroNubUserInterface__
- #define __MetroNubUserInterface__
-
- #include <ConditionalMacros.h>
- #include <MixedMode.h>
- #include <Types.h>
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
-
-
- // ---------------------------------------------------------------------------
- // • Constants
- // ---------------------------------------------------------------------------
-
- const short kMetroNubUserAPIVersion = 1; // current User API version
- const OSType kMetroNubUserSignature = 'MnUI';
-
-
- // ---------------------------------------------------------------------------
- // • IsDebuggerRunning
- // ---------------------------------------------------------------------------
-
- // pascal Boolean IsDebuggerRunning ();
-
- typedef pascal Boolean (*IsDebuggerRunningProcPtr)();
-
- #if GENERATINGCFM
- typedef UniversalProcPtr IsDebuggerRunningUPP;
- #else
- typedef IsDebuggerRunningProcPtr IsDebuggerRunningUPP;
- #endif
-
- enum {
- uppIsDebuggerRunningProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- };
-
- #if GENERATINGCFM
- #define NewIsDebuggerRunningProc(userRoutine) \
- (IsDebuggerRunningUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppIsDebuggerRunningProcInfo, GetCurrentArchitecture())
- #else
- #define NewIsDebuggerRunningProc(userRoutine) \
- ((IsDebuggerRunningUPP) (userRoutine))
- #endif
-
- #if GENERATINGCFM
- #define CallIsDebuggerRunningProc(userRoutine) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppIsDebuggerRunningProcInfo)
- #else
- #define CallIsDebuggerRunningProc(userRoutine) \
- (*(userRoutine))()
- #endif
-
-
- // ---------------------------------------------------------------------------
- // • AmIBeingDebugged
- // ---------------------------------------------------------------------------
-
- // pascal Boolean AmIBeingDebugged ();
-
- typedef pascal Boolean (*AmIBeingDebuggedProcPtr)();
-
- #if GENERATINGCFM
- typedef UniversalProcPtr AmIBeingDebuggedUPP;
- #else
- typedef AmIBeingDebuggedProcPtr AmIBeingDebuggedUPP;
- #endif
-
- enum {
- uppAmIBeingDebuggedProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- };
-
- #if GENERATINGCFM
- #define NewAmIBeingDebuggedProc(userRoutine) \
- (AmIBeingDebuggedUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppAmIBeingDebuggedProcInfo, GetCurrentArchitecture())
- #else
- #define NewAmIBeingDebuggedProc(userRoutine) \
- ((AmIBeingDebuggedUPP) (userRoutine))
- #endif
-
- #if GENERATINGCFM
- #define CallAmIBeingDebuggedProc(userRoutine) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppAmIBeingDebuggedProcInfo)
- #else
- #define CallAmIBeingDebuggedProc(userRoutine) \
- (*(userRoutine))()
- #endif
-
-
- // ---------------------------------------------------------------------------
- // • MetroNubUserEntryBlock
- // ---------------------------------------------------------------------------
-
- struct MetroNubUserEntryBlock
- {
- long blockLength; // length of this block
- short apiLowVersion; // lowest supported version of the Nub API
- short apiHiVersion; // highest supported version of the Nub API
- Str31 nubVersion; // short version string from 'vers' 1 resource
-
- IsDebuggerRunningUPP isDebuggerRunning;
- AmIBeingDebuggedUPP amIBeingDebugged;
- };
- typedef struct MetroNubUserEntryBlock MetroNubUserEntryBlock;
-
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #endif